⌨️ Топ-вакансий по PHP за неделю
Senior PHP Developer (Bitrix) — от 3 500 до 4 500 €, Офис (Кипр)
TechLead PHP — 400 000 ₽, удалёнка (Москва)
Senior PHP Developer — от 250 000 до 400 000 ₽, удалёнка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Senior PHP Developer (Bitrix) — от 3 500 до 4 500 €, Офис (Кипр)
TechLead PHP — 400 000 ₽, удалёнка (Москва)
Senior PHP Developer — от 250 000 до 400 000 ₽, удалёнка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
📢 Работа с IP
Иногда вам может понадобиться работать с IP-адресами. Laravel использует компонент
Библиотека пхпшника #буст
Иногда вам может понадобиться работать с IP-адресами. Laravel использует компонент
HttpFoundation
из Symfony, который поставляется с полезными помощниками для работы с IP-адресами 🚀Библиотека пхпшника #буст
🔧 Как без боли обновить PHP-проект на Symfony
Обновление PHP-проекта часто воспринимается как рискованная операция: что-то ломается, срочные фиксы летят в прод, команда в стрессе. Однако при правильном подходе процесс становится предсказуемым и управляемым.
🧰 1. Подготовка инструментов
Перед обновлением важно собрать «ящик инструментов»: автоматические тесты, статический анализ, линтеры. Например, инструмент Bruno отлично подходит для API-тестирования — лёгкий, удобный для работы в команде и хорошо интегрируется с Git.
📋 Что нужно сделать:
Выполнить
Определить критичные эндпоинты и написать для них тест-сценарии.
Интегрировать тесты в CI для автоматического контроля стабильности.
⬆️ 2. Обновление зависимостей и окружения
Обновить
Проверить список устаревших пакетов через
Выполнять обновление поэтапно — по одному или нескольким пакетам за раз.
Запустить PHPStan для статического анализа и PHP CS Fixer для форматирования кода.
Проверить и устранить устаревшие конструкции, отображаемые в Symfony Profiler или тестах.
🔄 3. Рефакторинг с использованием Rector
Rector позволяет автоматически модернизировать код: обновить синтаксис под новую версию PHP, улучшить читаемость, удалить мёртвый код. Настраивается через конфигурационные файлы с наборами правил (например, PHP 8.3, codeQuality, deadCode). Рефакторинг проводится поэтапно с обязательным прогоном тестов после каждого шага.
🛠️ 4. Обновление CI/CD
Актуализировать образы и зависимости в CI-пайплайне.
Убедиться, что все стадии (тесты, линтеры, анализ) выполняются успешно.
Задеплоить на стейджинг и проверить стабильность работы.
🧪 Пример GitHub Actions с Bruno:
🖼️ 5. Тестирование фронтенда
Даже если проект в основном бэкендовый, визуальные баги и ошибки пользовательского сценария могут остаться незамеченными. Тесты с помощью Cypress или Puppeteer позволяют отследить визуальные и поведенческие ошибки в интерфейсе.
🔗 Medium
Обновление PHP-проекта часто воспринимается как рискованная операция: что-то ломается, срочные фиксы летят в прод, команда в стрессе. Однако при правильном подходе процесс становится предсказуемым и управляемым.
🧰 1. Подготовка инструментов
Перед обновлением важно собрать «ящик инструментов»: автоматические тесты, статический анализ, линтеры. Например, инструмент Bruno отлично подходит для API-тестирования — лёгкий, удобный для работы в команде и хорошо интегрируется с Git.
📋 Что нужно сделать:
Выполнить
debug:router
для получения списка маршрутов.Определить критичные эндпоинты и написать для них тест-сценарии.
Интегрировать тесты в CI для автоматического контроля стабильности.
⬆️ 2. Обновление зависимостей и окружения
Обновить
composer.json
и конфигурации окружения (например, Docker) под новую версию PHP, например 8.3.Проверить список устаревших пакетов через
composer outdated
.Выполнять обновление поэтапно — по одному или нескольким пакетам за раз.
Запустить PHPStan для статического анализа и PHP CS Fixer для форматирования кода.
Проверить и устранить устаревшие конструкции, отображаемые в Symfony Profiler или тестах.
🔄 3. Рефакторинг с использованием Rector
Rector позволяет автоматически модернизировать код: обновить синтаксис под новую версию PHP, улучшить читаемость, удалить мёртвый код. Настраивается через конфигурационные файлы с наборами правил (например, PHP 8.3, codeQuality, deadCode). Рефакторинг проводится поэтапно с обязательным прогоном тестов после каждого шага.
🛠️ 4. Обновление CI/CD
Актуализировать образы и зависимости в CI-пайплайне.
Убедиться, что все стадии (тесты, линтеры, анализ) выполняются успешно.
Задеплоить на стейджинг и проверить стабильность работы.
🧪 Пример GitHub Actions с Bruno:
- name: Run Bruno API tests
run: |
npm install -g @usebruno/cli
php -S localhost:8000 -t public &
sleep 2
cd bruno && bru run --env dev
🖼️ 5. Тестирование фронтенда
Даже если проект в основном бэкендовый, визуальные баги и ошибки пользовательского сценария могут остаться незамеченными. Тесты с помощью Cypress или Puppeteer позволяют отследить визуальные и поведенческие ошибки в интерфейсе.
🔗 Medium
Создание пользовательских классов в Laravel без пользовательских команд
🔧 Проблема
Laravel предоставляет команды Artisan для генерации стандартных компонентов (модели, контроллеры и т.д.), но не поддерживает создание пользовательских классов. Обычно разработчики создают отдельные команды, например,
💡 Решение: пакет
Пакет
🔸 Определять пользовательские типы классов в одном конфигурационном файле.
🔸 Указывать путь для сохранения и шаблон (stub) для каждого типа.
🔸 Генерировать классы с помощью команды
👉 Читать статью
Библиотека пхпшника #буст
🔧 Проблема
Laravel предоставляет команды Artisan для генерации стандартных компонентов (модели, контроллеры и т.д.), но не поддерживает создание пользовательских классов. Обычно разработчики создают отдельные команды, например,
make:service
или make:repository
, что требует времени на настройку и поддержку.💡 Решение: пакет
laravel-custom-make
Пакет
usmanzahid/laravel-custom-make
позволяет:🔸 Определять пользовательские типы классов в одном конфигурационном файле.
🔸 Указывать путь для сохранения и шаблон (stub) для каждого типа.
🔸 Генерировать классы с помощью команды
php artisan make:custom
👉 Читать статью
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
🐾 Проклятие или благословение
Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?
За что кошку можно любить на рабочем месте:
➖ Погладил кота — забыл о дедлайнах. Правда, вместе с дедлайнами можно забыть и о задачах. Но нервы целы.
➖ Когда твой ноутбук превращается в трон для кота, начинаешь задумываться о великих целях... например, купить второй ноутбук.
➖ Кошка никогда не делает ничего лишнего. Хотите продуктивности? Учитесь у мастеров минимализма.
💬 А есть ли минусы у кошек? Делитесь своими мыслями в комментариях👇 Заодно можете покидать своих пушистых помощников 🐈
Библиотека пхпшника #буст
Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?
За что кошку можно любить на рабочем месте:
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Хочешь редактировать код быстрее и чувствовать себя как джедай IDE? Лови подборку горячих клавиш, которые действительно ускоряют работу и делают процесс редактирования в разы приятнее:
🔥 Редактирование
🔹 Alt + ↑ / ↓ — переместить строку вверх или вниз.
🔹 Shift + Alt + ↑ / ↓ — скопировать строку вверх или вниз.
🔹 Ctrl + / — закомментировать или раскомментировать строку.
💬 А какие хоткеи у вас самые любимые? Может, есть свои "скрытые фишки" работы в VS Code? Делитесь в комментариях👇
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Работаем с NATS в PHP: просто, быстро и неожиданно
Что такое NATS?
NATS — это высокопроизводительный брокер сообщений, написанный на Go. Он поддерживает модели PUB/SUB и очереди через JetStream. Работает по простому текстовому протоколу, с которым можно взаимодействовать даже через telnet.
PHP и NATS: возможно ли?
Да! Существует библиотека
🔸 Как установить и настроить библиотеку.
🔸 Как создать поток с политикой WORK_QUEUE.
🔸 Как публиковать и обрабатывать сообщения.
Почему это важно?
Интеграция PHP с современными брокерами сообщений открывает новые возможности для масштабируемых и распределённых систем. Теперь PHP-разработчики могут использовать преимущества асинхронной обработки данных без перехода на другие языки.
📖 Читайте статью полностью на Хабре
Что такое NATS?
NATS — это высокопроизводительный брокер сообщений, написанный на Go. Он поддерживает модели PUB/SUB и очереди через JetStream. Работает по простому текстовому протоколу, с которым можно взаимодействовать даже через telnet.
PHP и NATS: возможно ли?
Да! Существует библиотека
basis-company/nats
, которая позволяет PHP-приложениям подключаться к NATS, публиковать и получать сообщения. В статье подробно описано:🔸 Как установить и настроить библиотеку.
🔸 Как создать поток с политикой WORK_QUEUE.
🔸 Как публиковать и обрабатывать сообщения.
Почему это важно?
Интеграция PHP с современными брокерами сообщений открывает новые возможности для масштабируемых и распределённых систем. Теперь PHP-разработчики могут использовать преимущества асинхронной обработки данных без перехода на другие языки.
📖 Читайте статью полностью на Хабре
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Подборка новостей по PHP за неделю:
🔹 Laravel 12.13: добавлена возможность именования отложенных замыканий (queued closures), новый метод
🔹 PHP 8.3.21 и 8.4.7: выпущены обновления с исправлениями ошибок и улучшениями стабильности. Рекомендуется обновиться до этих версий для обеспечения надежной работы приложений
🔹 Symfony 7.3.0-BETA2: вышла вторая бета-версия Symfony 7.3.0, предоставляющая разработчикам возможность протестировать новые функции и улучшения перед официальным релизом, запланированным на конец мая 2025 года
🔹 Неделя Symfony #958 (5–11 мая 2025 года): на этой неделе были объединены 49 пул-реквестов (36 в коде и 13 в документации) и закрыт 31 issue (23 в коде и 8 в документации). Кроме того, продолжилось освещение новых функций Symfony 7.3 и подготовки к конференции SymfonyOnline в июне 2025 года
Библиотека пхпшника #свежак
🔹 Laravel 12.13: добавлена возможность именования отложенных замыканий (queued closures), новый метод
assertRedirectBack()
для тестирования и поддержка колбэков в методе коллекций containsOneItem()
🔹 PHP 8.3.21 и 8.4.7: выпущены обновления с исправлениями ошибок и улучшениями стабильности. Рекомендуется обновиться до этих версий для обеспечения надежной работы приложений
🔹 Symfony 7.3.0-BETA2: вышла вторая бета-версия Symfony 7.3.0, предоставляющая разработчикам возможность протестировать новые функции и улучшения перед официальным релизом, запланированным на конец мая 2025 года
🔹 Неделя Symfony #958 (5–11 мая 2025 года): на этой неделе были объединены 49 пул-реквестов (36 в коде и 13 в документации) и закрыт 31 issue (23 в коде и 8 в документации). Кроме того, продолжилось освещение новых функций Symfony 7.3 и подготовки к конференции SymfonyOnline в июне 2025 года
Библиотека пхпшника #свежак
Forwarded from Книги для программистов
Please open Telegram to view this post
VIEW IN TELEGRAM